package com.leyou.user.entity;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.leyou.common.constants.RegexPatterns;
import com.leyou.common.entity.BaseEntity;
import com.leyou.common.utils.RegexUtils;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;

@TableName("tb_user")
@Data
@EqualsAndHashCode(callSuper = false)
public class User extends BaseEntity {

    @TableId
    private Long id;
    // 由SpringMVC那一套可以得到到了我们的业务层已经走到了处理器适配器那里了
    // 我们需要将服务器端的数据校验通过过滤器/拦截器将数据校验往前提
    // 而springboot里面已经集成了一套数据校验的小框架(Hibernate-Validator)换成其他的校验工具也是可以的
    @NotNull(message = "用户名不能为空")
    @Length(min = 4,max = 30,message = "长度限制在4-30之间")
    private String username;

    @NotNull(message = "密码不能为空")
    @Length(min = 4,max = 30,message = "长度限制在4-30之间")
    private String password;

    @Pattern(regexp = RegexPatterns.PHONE_REGEX,message = "手机号格式有误！")
    private String phone;

}